﻿using FreeSql.DatabaseModel;using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace KJSyncXP.Oracle.Model {

	/// <summary>
	/// 炼胶生产条码信息表
	/// </summary>
	[JsonObject(MemberSerialization.OptIn), Table(DisableSyncStructure = true)]
	public partial class KJ_SERIAL_INFO {

		[JsonProperty, Column(IsPrimary = true)]
		public uint SERIAL_ID { get; set; }

		/// <summary>
		/// 生产条码（唯一标识，用于关联检测数据）
		/// </summary>
		[JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)", IsNullable = false)]
		public string BARCODE { get; set; }

		[JsonProperty, Column(DbType = "DATE(7)", InsertValueSql = "SYSDATE")]
		public DateTime? CREATION_DATE { get; set; }

		[JsonProperty, Column(DbType = "VARCHAR2(20 BYTE)")]
		public string EQP_CODE { get; set; }

		[JsonProperty, Column(DbType = "VARCHAR2(20 BYTE)")]
		public string LOT_NUMBER { get; set; }

		[JsonProperty, Column(DbType = "VARCHAR2(20 BYTE)")]
		public string OPERATOR { get; set; }

		/// <summary>
		/// 物料编号（关联快检测试标准表）
		/// </summary>
		[JsonProperty, Column(DbType = "VARCHAR2(20 BYTE)", IsNullable = false)]
		public string PART_NUMBER { get; set; }

		/// <summary>
		/// 生产日期（炼胶工序完成日期）
		/// </summary>
		[JsonProperty, Column(DbType = "DATE(7)")]
		public DateTime? PROD_DATE { get; set; }

		[JsonProperty, Column(DbType = "VARCHAR2(10 BYTE)")]
		public string SHIFT { get; set; }

		/// <summary>
		/// 检测状态（UNTEST=未检测，TESTING=检测中，PASS=合格，FAIL=不合格）
		/// </summary>
		[JsonProperty, Column(DbType = "VARCHAR2(20 BYTE)")]
		public string TEST_STATUS { get; set; } = "UNTEST";

		[JsonProperty, Column(DbType = "DATE(7)")]
		public DateTime? UPDATE_DATE { get; set; }

	}

}
